/*
 * Copyright (c) 2020 - present, Inspur Genersoft Co., Ltd.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *       http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 */

package com.inspur.edp.lcm.metadata.api.exception;

/**
 * 异常code枚举类
 *
 * 出现异常后，应抛出相应的异常code，异常code对应的异常信息在resources中
 *
 * @author liangff
 * @since 0.1.0
 */
public enum ErrorCodes {
    /**
     * 数据库类型不正确[{0}]
     */
    ECP_METADATA_DEPLOY_DEV_0001,

    /**
     * 获取配置类失败[{0}]
     */
    ECP_CONFIG_RESOLVE_DEV_0001,
    /**
     * 读取配置文件失败[{0}]
     */
    ECP_CONFIG_RESOLVE_DEV_0002,
    /**
     * 未能正常获取序列化器，请检查配置。类型为[{0}]
     */
    ECP_CONFIG_RESOLVE_DEV_0006,

    /**
     * 序列化失败[{0}]
     */
    ECP_PARSE_DEV_0001,
    /**
     * 反序列化失败[{0}]
     */
    ECP_PARSE_DEV_0002,
    /**
     * 解析文件失败[{0}]
     */
    ECP_PARSE_DEV_0010,

    /**
     * 文件不存在[{0}]
     */
    ECP_FILE_DEV_0001,
    /**
     * 文件命名不规范[{0}]
     */
    ECP_FILE_DEV_0002,
    /**
     * 文件已经存在[{0}]
     */
    ECP_FILE_DEV_0003,
    /**
     * 工程重命名失败[{0}]-[{1}]-[{2}]
     */
    ECP_FILE_DEV_0004,
    /**
     * 压缩文件失败[{0}]
     */
    ECP_FILE_DEV_0005,
    /**
     * 读取文件失败[{0}]
     */
    ECP_FILE_DEV_0006,
    /**
     * 不支持访问远程路径[{0}]
     */
    ECP_FILE_DEV_0007,
    /**
     * 路径不存在[{0}]
     */
    ECP_FILE_DEV_0008,
    /**
     * 文件监控器启动失败[{0}]
     */
    ECP_FILE_DEV_0009,
    /**
     * 文件监控器停止失败[{0}]
     */
    ECP_FILE_DEV_0010,
    /**
     * 文件删除失败[{0}]
     */
    ECP_FILE_DEV_0011,
    /**
     * 文件写入失败[{0}]
     */
    ECP_FILE_DEV_0012,
    /**
     * 文件复制失败[{0}]-[{1}]
     */
    ECP_FILE_DEV_0013,
    /**
     * 文件创建失败[{0}]
     */
    ECP_FILE_DEV_0014,

    /**
     * 删除失败：[{0}]不属于当前工作空间下的元数据工程内文件或目录
     */
    ECP_FILE_DEV_0015,

    /**
     * 程序执行出错[{0}]
     */
    ECP_PROCESS_0001,
    /**
     * 请配置系统变量JAVA_HOME
     */
    ECP_PROCESS_0002,
    /**
     * 获取pid失败[{0}]
     */
    ECP_PROCESS_0003,
    /**
     * 无法找到正确的启动脚本[{0}]
     */
    ECP_PROCESS_0004,
    /**
     * 程序调用异常
     */
    ECP_PROCESS_0005,
    /**
     * 获取进程名称出错
     */
    ECP_PROCESS_0006,
    /**
     * 获取进程CPU信息出错
     */
    ECP_PROCESS_0007,
    /**
     * 获取进程内存信息出错
     */
    ECP_PROCESS_0008,
    /**
     * 获取进程端口信息出错
     */
    ECP_PROCESS_0009,
    /**
     * 获取进程信息失败
     */
    ECP_PROCESS_0010,
    /**
     * 获取runTime为null
     */
    ECP_PROCESS_0011,
    /**
     * 元数据部署失败[{0}]
     */
    ECP_PROCESS_0012,
    /**
     * 命令行调用元数据部署工具出错[{0}]-[{1}]
     */
    ECP_PROCESS_0013,
    /**
     * 获取系统所有进程名出错
     */
    ECP_PROCESS_0014,

    /**
     * 当前路径不是绝对路径[{0}]
     */
    ECP_METADATA_DEV_0001,
    /**
     * 更新工程引用文件出错[{0}]
     */
    ECP_METADATA_DEV_0002,
    /**
     * 元数据工程创建出错[{0}]
     */
    ECP_METADATA_DEV_0003,
    /**
     * 获取工程信息失败[{0}]
     */
    ECP_METADATA_DEV_0004,
    /**
     * [{0}]不可为空
     */
    ECP_METADATA_DEV_0005,
    /**
     * 路径不符合规范[{0}]
     */
    ECP_METADATA_DEV_0006,
    /**
     * 此元数据被[{0}]依赖，请清除其中依赖后重试
     */
    ECP_METADATA_DEV_0007,
    /**
     * 调用rpc服务异常[{0}]
     */
    ECP_METADATA_DEV_0008,
    /**
     * 元数据编号不可超过128个字符
     */
    ECP_METADATA_DEV_0009,
    /**
     * 元数据目录[{0}]已存在元数据[{1}]
     */
    ECP_METADATA_DEV_0010,
    /**
     * 获取元数据失败[{0}]
     */
    ECP_METADATA_DEV_0011,
    /**
     * 检测到循环引用[{0}]
     */
    ECP_METADATA_DEV_0012,
    /**
     * 找不到依赖的元数据工程[{0}]
     */
    ECP_METADATA_DEV_0013,
    /**
     * 编号不可长于255个字符[{0}]
     */
    ECP_METADATA_DEV_0014,
    /**
     * 编号含有违法字符[{0}]
     */
    ECP_METADATA_DEV_0015,

    /**
     * 获取相对路径失败[{0}]
     */
    ECP_METADATA_DEV_0016,

    /**
     * 反序列化元数据失败[{0}]-[{1}]
     */
    ECP_METADATA_DEV_0017,

    /**
     * 获取元数据包失败[{0}]
     */
    ECP_METADATA_DEV_0018,

    /**
     * 根据元数据[{0}]路径[{1}]获取对应资源元数据失败
     */
    ECP_METADATA_DEV_0019,

    /**
     * 依赖的BO内元数据包不存在，请先打包[{0}]
     */
    ECP_METADATA_DEV_0020,

    /**
     * 未更新索引服务器版本，无法更新解析型元数据[{0}]
     */
    ECP_METADATA_DEV_0021,

    /**
     * 更新索引服务器失败[{0}]
     */
    ECP_METADATA_DEV_0022,

    /**
     * 元数据包不存在，请先生成元数据包[{0}]
     */
    ECP_METADATA_DEV_0023,

    /**
     * 元数据[{0}]被文件夹外的元数据[{1}]依赖，请清除其中依赖后重试
     */
    ECP_METADATA_DEV_0024,

    /**
     * 添加依赖包到mdproj文件失败[{0}]-[{1}]-[{2}]-[{3}]
     */
    ECP_METADATA_DEV_0025,

    /**
     * 无法根据[{0}]获取准确的元数据包名，请手动删除工程引用文件中MetadataPackageRefs节点和ProjectRefs节点中的相关内容
     */
    ECP_METADATA_DEV_0026,

    /**
     * 未找到Java模板工程目录，请先生成Java代码[{0}]
     */
    ECP_METADATA_DEV_0027,

    /**
     * 无法根据[{0}]-[{1}]获取准确的元数据包名
     */
    ECP_METADATA_DEV_0028,

    /**
     * 工程引用文件文件中未记录引用元数据包[{0}]
     */
    ECP_METADATA_DEV_0029,

    /**
     * 当前工程未引用此元数据包[{0}]
     */
    ECP_METADATA_DEV_0030,

    /**
     * 工程引用已是[{0}]
     */
    ECP_METADATA_DEV_0031,

    /**
     * .mdproj文件不存在[{0}]
     */
    ECP_METADATA_DEV_0032,

    /**
     * 未找到[{0}]模块代码pom文件，请检查[{0}]模块代码是否已经成功生成[{1}]
     */
    ECP_METADATA_DEV_0033,

    /**
     * 提取元数据包失败[{0}]
     */
    ECP_METADATA_DEV_0034,

    /**
     * 不存在ID为[{0}],路径为[{1}]的元数据
     */
    ECP_METADATA_DEV_0035,

    /**
     * 保存元数据扩展规则报错[{0}]-[{1}]
     */
    ECP_METADATA_DEV_0036,

    /**
     * 此目录下元数据被其他元数据依赖，具体依赖情况见输出框[{0}]
     */
    ECP_METADATA_DEV_0037,

    /**
     * 权限过期[{0}]
     */
    ECP_METADATA_DEV_0038,

    /**
     * 制品文件不存在[{0}]，请重新发布后再下载
     */
    ECP_METADATA_DEV_0039,

    /**
     * 代码未生成，请生成java代码[{0}]
     */
    ECP_METADATA_DEV_0040,

    /**
     * 后端编译异常，具体错误详情请查看运行日志。
     */
    ECP_METADATA_DEV_0041,

    /**
     * 前端编译异常，具体错误详情请查看运行日志。
     */
    ECP_METADATA_DEV_0042,

    /**
     * 应用提取异常，具体错误详情请查看运行日志。
     */
    ECP_METADATA_DEV_0043,
    /**
     * 制品收集失败，当前应用下没有需要下载的元数据文件
     */
    ECP_METADATA_DEV_0044,
    /**
     * 当前路径不是有效的元数据工程路径:[{0}]
     */
    ECP_METADATA_DEV_0045,
    /**
     * [{0}]字段仅支持以字母开头的字母数字组合
     */
    ECP_METADATA_DEV_0046,
    /**
     * [{0}]字段仅支持小写字母
     */
    ECP_METADATA_DEV_0047,

    /**
     * 获取maven本地仓库地址出错，请检查settings.xml配置
     */
    ECP_MAVEN_DEV_0001,

    /**
     * 请配置maven环境变量！MAVEN_HOME=...
     */
    ECP_MAVEN_DEV_0002,

    /**
     * 写入pom文件失败[{0}]-[{1}]
     */
    ECP_MAVEN_DEV_0003,

    /**
     * 安装依赖包失败[{0}]-[{1}]-[{2}]
     */
    ECP_MAVEN_DEV_0004,

    /**
     * 安装元数据工程[{0}]依赖的元数据包失败
     */
    ECP_MAVEN_DEV_0005,

    /**
     * api模块pom.xml内容为空[{0}]
     */
    ECP_MAVEN_DEV_0006,

    /**
     * 指定的监听者[{0}]没有实现[{1}]接口
     */
    ECP_EVENT_DEV_0001,

    /**
     * 接口[{0}]存在多个[{1}]相同为[{2}]的实现:[{3}]、[{4}]
     */
    ECP_DUP_IMPL_0001
}
